/*
 * This program is part of the OpenLMIS logistics management information system platform software.
 * Copyright © 2013 VillageReach
 *
 * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
 *  
 * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Affero General Public License for more details.
 * You should have received a copy of the GNU Affero General Public License along with this program.  If not, see http://www.gnu.org/licenses.  For additional information contact info@OpenLMIS.org. 
 */

//  Description:
//  Scrolling the page up if the focused field is hidden behind any other element

app.directive('tabScroll',function () {
  return {
    restrict:'A',

    link:function (scope, element, attrs) {
      setTimeout(function() {
        $(element).find(":tabbable").on('focus', function () {
          var distance = $(window).height() - ($(this).offset().top - $(window).scrollTop());
          var offset = 0 - distance;
          var bottomOffset = attrs.bottomOffset || 100;
          var scrollAmount = utils.parseIntWithBaseTen(bottomOffset + offset);
          
          if (distance < 120) {
            $(window).scrollTop($(window).scrollTop() + scrollAmount);
          }
        });
      });
    }
  };
});